## 4、带有默认参数的函数
## 函数的参数 可以有默认值，如果在调用时没有提供该参数的值，则使用默认值
def greet(name="Guest"):
    print(f"Hello {name} !")

greet()
greet("lisi")


## 5、带有可变数量参数的函数
## python 支持 可变数量的参数，可以使用 *args(元组) 和 **kwargs(字典) 来实现
## *args:   接收任意数量的位置参数,并将他们放入到一个元组中
## *kwargs: 接收任意数量的关键字参数,并将他们放入一个字典中

def print_number(*args):
    for num in args:
        print(num,end=',')
print_number(1,2,9,4,5)
print()

def print_details(**kwargs):
    for k , v in kwargs.items():
        print(f"{k}: {v}",end=",")
print_details(name="zhangsan",age=33,city="Shanghai")